package com.yunhe.inspect.service;
import com.yunhe.common.exception.ArgumentErrorException;
import com.yunhe.common.model.mybatis.PageResult;
import com.yunhe.inspect.model.DataInspectPlanBo;
import com.yunhe.inspect.model.DataInspectPlanDetailVo;
import com.yunhe.inspect.model.DataInspectPlanQueryCondition;
import com.yunhe.inspect.model.DisableRecoveryStatus;

import java.text.ParseException;
import java.util.List;

/**
 * @description 巡检计划表
 * @author misty
 * @date 2021-11-09
 */
public interface DataInspectPlanService {

    /**
     * 新增
     * @param dataInspectPlanBo
     */
    public void createDataInspectPlan (DataInspectPlanBo dataInspectPlanBo) throws ArgumentErrorException, InterruptedException;

    /**
     * 删除
     */
    public void deleteDataInspectPlan(List<Integer> ids) throws ArgumentErrorException;

    /**
     * 更新
     * @param dataInspectPlanBo
     */
    public void updateDataInspectPlan(DataInspectPlanBo dataInspectPlanBo) throws ArgumentErrorException;

    /**
     * 根据主键 id 查询
     * @return
     */
    public DataInspectPlanDetailVo findDataInspectPlanById(int id);


    void disableRecoveryDataInspectPlan(DisableRecoveryStatus disableRecoveryStatus) throws ArgumentErrorException;

    PageResult findDataInspectPlan(DataInspectPlanQueryCondition dataInspectPlanQueryCondition) throws ArgumentErrorException;

    void inspectPlanToOrder() throws InterruptedException, ParseException;

}